1. Field of the Invention
The present invention relates to a motor and actuator controller, applied to a device or an apparatus employing a multi-axial driving system such as a robot, general-purpose assembly apparatus, robot-hand apparatus, or other multi-axial controllers, and particularly to an AC or DC motor or actuator controller which generates rotational torque due to formation of a predetermined magnetic distribution by controlling a supplied current to a coil thereof.
More specifically, the present invention relates to a controller for an AC or DC motor or actuator wherein the coil current is controlled by PWM switching, and particularly to a controller which solves the problems of torque loss and cogging at times other than the on-period.
Furthermore, the present invention relates to a servo controller for an actuator employed as a joint actuator for a robot wherein each axial link is controlled under high-gain PD control, and particularly to a servo controller for an actuator for performing stable and high efficient operation by adjusting compliance thereof.
2. Description of the Related Art
An apparatus for performing operations similar to human movement using electric or magnetic action is referred to as a “robot”. It is said that the origin of the term “robot” is derived from the word “ROBOTA”, which means a slave machine in Slavic. While robots have come into wide use in the late 1960s in Japan, in most cases, such robots were used as industrial robots such as manipulators, transfer robots, or the like, in order to perform automatic manufacturing without operators in a factory.
Stationary robots, such as arm robots, which are installed at a fixed position, perform operation such as assembling of parts, selection of parts, or the like, in a fixed and local working space. On the other hand, mobile robots do not stay at a fixed position, but freely move along a predetermined route, or not according to a predetermined route, so as to provide human operation in a predetermined manner or in a flexible manner according to the situation, or so as to provide various types of services including a wide range of services which have been provided by humans, dogs, or other living things. Particularly, while ambulatory mobile robots are unstable, and have difficulty in controlling the attitude thereof and difficulty in controlling walking, as compared with crawler robots or tire robots, ambulatory mobile robots have the advantage of flexible movement such as descending and ascending stairs or a ladder, walking over an obstacle, and flexible walking or running regardless of unevenness of the floor.
Recently, while study and development of the ambulatory robots such as pet robots modeled on the body mechanism or movement of four-legged animals, e.g., dogs, cats, and the like, or human robots (which is also referred to as “humanoid robots”) modeled on the body mechanism or movement of erect bipedal animals, i.e., humans, is progressing, demand for practical application of robots is increasing.
In general, these kinds of ambulatory robots include a great number of joint-degrees-of-freedom, and each joint is moved with an actuator motor. Furthermore, the ambulatory robots have a configuration wherein information regarding the rotational position, rotational amount, and the like, of each motor, is obtained, so as to perform servo control based thereupon, thereby performing movement in a desired pattern, as well as controlling the attitude thereof.
In general, servo motors are employed in the robots for increasing joint-degrees-of-freedom of the robots. This is due to the reasons that the servo motor is easy to use, and has a small size and high torque performance, and furthermore exhibits excellent responsibility. In particular, an AC servo motor is a maintenance-free motor having no brushes, and accordingly, the AC servo motor is suitably employed in a joint actuator of an automatic machine such as ambulatory robots which can freely walk, or the like, for operating in a working space without operators. The AC servo motor has a configuration wherein a permanent magnet is disposed as a rotor, and a multi-phase (e.g., three-phase) coils are disposed as a stator, so as to generate rotational torque for the rotor due to the sine-wave magnetic distribution and the sine-wave current.
In general, the ambulatory robot has a configuration including a great number of joints. Accordingly, the servo motor is required to be designed and formed with a small size and high performance for exhibiting great joint-degrees-of-freedom. For example, small-sized AC servo motors, which are directly connected by gears, having a configuration wherein servo control system, which can be employed as joint actuators in ambulatory mobile robots, is formed on one chip so as to be included in a motor unit are already available (see Japanese Unexamined Patent Application Publication No. 2000-299970, for example).
Multi-axial-driving apparatuses such as ambulatory robots require control for movement wherein the rotational position of each shaft is detected with high precision in a sure manner so as to control the movement based upon the positional commands. For example, erect bipedal mobile robots such as humanoid robots requires control for movement wherein the robot autonomously confirms the positional attitude of itself, and moves each shaft so as to be positioned to a stable attitude of the robot immediately following turning on the power supply. Accordingly, the servo actuator for rotational joint-degrees-of-freedom is required to perform control of positioning with high precision and high speed, as well as performing high torque output with low power consumption.
Conventionally, with multi-axial robots such as bipedal robots (humanoid robots), each axial link is controlled for corresponding joint portion under the high-gain PD control, and is moved with fixed properties, based upon the motion control theory.
However, as can be understood from the results of study of human motion, it is important that the force applied to each joint portion, or the compliance thereof, is adjusted, in order to perform stable and highly-efficient motion.
That is to say, while in a case of taking a motion of the joints as a positional control system, a servo control device with a high gain and wide band width is preferably employed so as to control the system with a small deviation, in a case of taking the motion of the joints as a dynamic model, motion control is preferably performed wherein the gain is reduced, or the frequency band for phase compensation is adjusted, according to the situation, at the same time, giving consideration to influence of the potential energy or the kinetic energy thereof.
However, in order to perform such control on the robot, functions for performing dynamic/static control of two kinds of properties (i.e., one is the properties of the actuator itself, and the other is the properties of the controller of the actuator) are required.
For example, with a bipedal robot having a configuration similar to a human body, including arms on the upper body, an arrangement is known as described in several documents wherein in the event that the attitude thereof becomes unstable due to low friction on the walking road, the upper body is driven so as to recover a stable attitude (see Japanese Unexamined Patent Application Publication No. 7-205069, for example). However, the aforementioned arrangement effects such performance by controlling the feed forward gain, and the aforementioned documents make no mention whatever of the viscosity of the joint, and frequency properties, and furthermore make no mention whatever of compliance of the joint.
Now, description will be made regarding driving control of an actuator, a well-known example of which is a servo motor.
In general, a servo motor comprises a rotor formed of a magnet which is rotatably held, and a stator formed of multi-phase coils with predetermined phase difference. The supplied current for each coil (which will be referred to as “coil current” hereafter) is adjusted so as to form the sine-wave magnetic flux distribution with predetermined phase difference on each phase coil, thereby generating rotational torque for the rotor.
For example, sine-wave currents are applied to stator coils of three-phase motors, U, V, and W, with predetermined phase difference, so as to form sine-wave magnetic flux distribution, thereby generating the rotational torque for the stator formed of a magnet. Conventionally, a star connection wherein one end of the coils are connected to a single node as shown in FIG. 28, or a delta connection wherein both ends of the coils are connected one to another as shown in FIG. 29, is employed for a coil connection of a synchronous AC servo motor. It is needless to say that the star connection or delta connection is not restricted to be applied to the AC servo motor; rather, such connections may be applied to a DC brushless motor. In general, the star connection is suitably employed for a high-voltage power supply, and on the other hand, the delta connection is suitably employed for a low-voltage power supply (Note that the delta connection is not employed in a permanent magnet AC motor in many cases. The reason is that harmonic current occurring due to the permanent magnet loops at the time of the motor rotating at a high speed, leading to reduction of the efficiency of the motor).
FIG. 30 is a diagram which shows a configuration example of an equivalent circuit of a current control circuit for supplying coil current, which is employed in a DC motor. Such a current control circuit is provided to a coil forming a stator, for example. A PWM control logic circuit generates current commands for a coil based upon current commands for controlling the stator magnetic field (torque commands) IO from an unshown central control unit so as to perform switching-control of transistors of the current control circuit with PWM method.
The current control circuit shown in FIG. 30 has a full-bridge configuration wherein a circuit formed of a pnp transistor A′ and an npn transistor A, connected in the forward direction, and another circuit having the same configuration formed of a pnp transistor B′ and an npn transistor B, connected in the forward direction, are connected between the power supply voltage Vcc and the ground GND in parallel, as well as the node between the transistors A′ and A, and the node between the transistors B′ and B, being connected with the single-phase coil forming a stator introduced therebetween.
Upon turning on the transistors A′ and B as well as turning off the transistors A and B′, the current Im flows in the motor coil in the direction of the arrow in the drawing. Next, upon turning off the transistors A′ and B, the coil becomes open circuited, and accordingly, no current is applied to the coil.
Let us refer to the period for turning on the transistors A′ and B as well as turning off the transistors A and B′ so as to apply the coil current Im to the motor coil, as “Ton period”. On the other hand, let us refer to the period for turning off the transistors A′ and B as well as turning off the transistors A and B′ so that no current is applied to the motor coil, as “Toff period”.
FIGS. 31 and 32 show the relation of switching of each transistor and the switching current of the current control circuit shown in FIG. 30 (FIG. 31 shows the voltage waveforms for switching the transistors for controlling the coil current, and FIG. 32 shows the coil current waveform). Note that Ton is determined with a pulse width so as to turn on the transistors A′ and B, as well as turning off the transistors A and B′, and TPMP is a constant cycle period for PWM switching. For example, in the event that Ton is set to 30 μsec, and TPMP is set to 50 μsec, the current Im flows in the coil as shown in FIG. 32. As a result, the output torque of the motor is obtained corresponding to the input current to the coil.
In general, each transistor is controlled so as to perform suitable on/off operations according to PWM switching signals, thereby controlling the magnitude of the current Im which flows in the coil. The maximal current is determined by the maximal value of the pulse width Ton. The maximal pulse width is determined by the maximal period for transient required for on/off operations of the transistors forming the current control circuit, and the properties of the motor coil which is to be driven. Furthermore, taking the transient period for the on/off operations of the transistor into consideration, dead bands td are provided such that the transistor A′ (or B′) connected to the power supply voltage and the transistor A (or B) connected to the ground are not turned on at the same time.
Furthermore, FIG. 33 shows a configuration example of an equivalent circuit with regard to a current control circuit for supplying coil current, which is applied to a three-phase motor. In the example shown in the drawing, the stator coil set has a configuration employing the delta-connection method. A PWM control logic circuit calculates the phase of the current which is to be applied to each coil so as to generate current commands for coils U, V, and W, based upon current commands for controlling the stator magnetic field (torque commands) IO from an unshown central control unit, thereby performing switching-control of transistors U, U′, V, V′, W and W′ of the current control circuit with PWM method.
The current control circuit shown in FIG. 33 has a full-bridge configuration wherein a circuit formed of a pnp transistor U′ and an npn transistor U, connected in the forward direction, for forming U-phase magnetic flux distribution, a circuit having the same configuration formed of a pnp transistor V′ and an npn transistor V, connected in the forward direction, for forming V-phase magnetic flux distribution, and a circuit having the same configuration formed of a pnp transistor W′ and an npn transistor W, connected in the forward direction, for forming W-phase magnetic flux distribution, are connected in parallel. Each collector of the pnp transistors U′, V′, and W′, of the aforementioned circuits, each of which includes one pair of transistors connected in the forward direction, are connected to the power supply voltage Vcc in parallel, as well as the emitters of the other npn transistors U, V, and W, being connected to the ground GND in parallel. Furthermore, one end of a coil A is connected to the node between the transistors U′ and U, and the other end thereof is connected to the node between the transistors V′ and V, one end of a coil B is connected to the node between the transistors V′ and V, and the other end thereof is connected to the node between the transistors W′ and W, and one end of a coil C is connected to the node between the transistors W′ and W, and the other end thereof is connected to the node between the transistors U′ and U.
Furthermore, FIG. 34 shows a configuration of the bridge portion in a case of employing three-phase coils in star connection, not in delta connection. In this case, as shown in the drawing, one ends of the coils A, B, and C, are terminated, and the other ends are connected to the node between the pnp transistor U′ and the npn transistors U, the node between the pnp transistor V′ and the npn transistors V, and the node between the pnp transistor W′ and the npn transistors W, respectively, in serial.
Upon turning on the transistors U′ and V, as well as turning off the transistors U and V′, current IA flows in the coil A in the direction of the arrow in the drawings. Subsequently, upon turning off the transistors U′ and V, the coil A becomes open circuited, whereby no current is applied to the coil.
In the same way, turning on the transistors V′ and W, as well as turning off the transistors V and W′, current IB flows in the coil B in the direction of the arrow in the drawings. Subsequently, upon turning off the transistors V′ and W, the coil B becomes open circuited, whereby no current is applied to the coil.
Furthermore, in the same way, turning on the transistors W′ and U as well as turning off the transistors W and U′, current IC flows in the coil C in the direction of the arrow in the drawings. Subsequently, upon turning off the transistors W′ and U, the coil C becomes open circuited, whereby no current is applied to the coil.
FIGS. 35 and 36 show the relation of switching of each transistor and the switching current of the current control circuit shown in FIG. 33 (FIG. 35 shows the voltage waveforms for switching the transistors for controlling the coil currents, and FIG. 36 shows the coil current waveforms). Each transistor is controlled so as to perform suitable on/off operations according to PWM switching signals, thereby controlling the magnitude of the currents IA, IB, and IC which flow in the coils. The maximal current is determined by the maximal value of the pulse width of the switching signals. Furthermore, dead bands td (not shown) are provided such that the transistor U′ connected to the power supply voltage and the transistor U connected to the ground are not turned on at the same time. Dead bands are provided for V′ and V, and for W′ and W, in the same way.
Note that, with the PWM control for driving a motor, there are periods of time in which all the coils of the motor are open circuited regardless of the types of the DC motors such as brushless DC motors. For example, the hatched regions shown in FIG. 35 denote the periods of time in which all the phase coils of the motor A, B, and C, are open circuited.
At the time of the coil of the motor becoming open circuited, the current (more precisely, the flow of charges), which flows in the coil of the motor, decays, leading to loss of torque. Furthermore, motors having such a configuration often cause irregularity in torque due to cogging.
Description will be made below regarding the problems of loss of torque, cogging, and the like, at the time of the coils of the motor being open circuited (at the time of all the coils being open circuited, or during the period in time other than the period in time in which any coil is turned on), with reference to the example of the DC motor shown in FIG. 30.
An actual coil of the motor contains an inductance L and a DC resistance R, and accordingly, the coil current control circuit for the DC motor shown in FIG. 30 can be reduced to a model RL series circuit as shown in FIG. 37. As shown in the drawings, the RL series circuit serving as a model of the motor coil has a circuit configuration wherein one end is grounded to the ground GND, as well as the other end being connected to the power supply Vcc through a switch S1, and being grounded to the ground GND through a switch S2, in parallel.
Now, let us say that at the time of t=0, the switch S1 is turned on, and the switch S2 is turned off, so that current is applied to the coil RL. In this case, the coil current I flows in the direction of the arrow in the drawing. In this case, the transient response of the coil current Ion(t) is represented by the following expression.
                              I                      on            ⁡                          (              t              )                                      =                                            V              cc                        R                    ⁢                      {                          1              -                              exp                ⁡                                  (                                                            -                                              R                        L                                                              ⁢                    t                                    )                                                      }                                              [                  Expression          ⁢                                          ⁢          1                ]            
Subsequently, the state wherein the switch S1 is on and the switch S2 is off is maintained until t=t1, following which both the switches S1 and S2 are turned off, so as to make the coil open circuited. In this case, the transient response of the coil current Ioff(t) is approximately represented by the following expression. Here, the coefficient α of the second term on the right hand side causes a gradient of the transient response function, around twice as great as the gradient thereof caused due to the decay time constant (the actual values are determined by the semiconductor properties of MOS-FETs, bipolar transistors, or the like, serving as the switching devices).
                              I                      off            ⁡                          (              t              )                                      =                                                            V                cc                            R                        ⁢            exp            ⁢                          {                                                R                  L                                ⁢                                  (                                      t                    -                                          t                      1                                                        )                                            }                                -                      α            ⁡                          (                              t                -                                  t                  1                                            )                                                          [                  Expression          ⁢                                          ⁢          2                ]            
The transient response property of the coil current represented by Expression 1 is shown in FIG. 38. The effective value Ieff of the coil current wherein switching operations are repeated is represented by the following Expression 3. As shown in FIG. 32, the effective value of the coil current is smaller than the maximal coil current.
                              I          eff                =                                                            ∫                                                      I                    2                                    ⁢                                      ⅆ                    t                                                                        T                    =                                                    (                                                      ∫                                                                                            (                                                      I                                                          on                              ⁡                                                              (                                t                                )                                                                                                              )                                                2                                            ⁢                                              ⅆ                        t                                                                              +                                      ∫                                                                                            (                                                      I                                                          off                              ⁡                                                              (                                t                                )                                                                                                              )                                                2                                            ⁢                                              ⅆ                        t                                                                                            )                                      T                                              [                  Expression          ⁢                                          ⁢          3                ]            
On the other hand, the output torque T of the motor is represented by the value wherein the coil current is multiplied by the torque coefficient Kt (T=Kt·I). Accordingly, the motor exhibits the motor output torque T as shown in FIG. 39, corresponding to the coil current shown in FIG. 32. As can be understood from the drawing, the effective value of the motor output torque is smaller than the maximal motor output torque at the time of the maximal coil current. That is to say, at the time of the coil of the motor becoming open circuited, the current (more precisely, the flow of charges), which flows in the coil of the motor, decays, leading to loss of torque. Furthermore, the motor having such a configuration often causes irregularity in torque due to cogging.